package com.tabnet.beans.commande;

import com.tabnet.beans.produit.Accessoire;
import com.tabnet.beans.produit.Option;
import com.tabnet.beans.produit.ProduitCMD;

/**
 * <p>Propriétés du bean LigneCommande</p>
 * @author Corentin, Cyril, Neven, Anabella
 * */
public class LigneCommande {
	
	private int _Id;
	private int _QteCmd;
	private ProduitCMD _ProduitCmd;
	private Commande _Commande;
		
	
	public int getId() {
		return _Id;
	}
	public int getQteCmd() {
		return this._QteCmd;
	}
	public ProduitCMD getProduitCmd() {
		return this._ProduitCmd;
	}
	public Commande getCommande() {
		return _Commande;
	}
	
	public void setId(int pId) {
		this._Id = pId;
	}
	public void setQteCmd(int pQteCmd) {
		this._QteCmd = pQteCmd;
	}
	public void setProduitCmd(ProduitCMD pProduitCmd) {
		this._ProduitCmd = pProduitCmd;
	}
	public void setCommande(Commande pCommande) {
		this._Commande = pCommande;
	}

	/**
	 * <p>Fonction calcProduitHT
	 * Calcul le montant HT du produit avec options et accessoires</p>
	 * @return le montant du produit
	 * */
	public double calcProduitHT(){
		double res = this._ProduitCmd.getPu() * this.getQteCmd();
		
		for(Accessoire oAccessoire : this.getProduitCmd().getAccessoiresCmd().values()){
			res += oAccessoire.get_puA();
		}
		
		for(Option oOption : this.getProduitCmd().getOptionsCmd().values()){
				res += oOption.calcPrixHT();
		}		
		
		return res;
	}
}
